Comando goto

 

A instrução goto é formada por duas partes: o comando goto e um rótulo:

 

goto Erro;

 

A instrução goto causa um desvio na execução normal do programa para a instrução seguinte ao rótulo. Um rótulo é um nome (que respeita a convenção para a nomenclatura de variáveis) que deve ser colocada em dois locais: imediatamente após a instrução goto e, completada por dois pontos, antecedendo a instrução para a qual o goto desviará a execução do programa:

 

 

Erro:ShowMessage("Erro... Não é possível efetuar divisão por zero...");
// ...
if(Divid / 0)
goto Erro;
// ...

 

No exemplo, se o usuário tentar efetuar uma divisão por zero, o comando goto remeterá a execução do programa para " Erro: " que chamará uma caixa de mensagem.
Existem códigos que possibilitam usar o goto como um laço (loop), mas é desaconselhável, uma vez que os laços for , while e do... while fazem com muito mais segurança a tarefa.
O comando goto pode fazer com que a execução do programa pule para qualquer ponto visível do código, e seu uso incorreto ou indiscriminado facilita a introdução de erros. Via de regra, os programadores evitam usar esse comando, mas existem ocasiões em que o mesmo poderá ser útil.